﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Modelo_ETdA.Negocio.Analise;
using Modelo_ETdA.Negocio.AmbienteComercial;
using Modelo_ETdA.Negocio.Analista;
using Modelo_ETdA.Dados;
using Modelo_ETdA.Negocio.Analise.Relatorio;
using Modelo_ETdA.Negocio.Analise.Avaliacao;
using Modelo_ETdA.Negocio.Analise.Formato;


namespace Modelo_ETdA.Interface
{
    public partial class TipoRelatorio : Form
    {
        private List<Avaliacao> lavalCli;
        private List<Avaliacao> lavalPro;
        private List<Avaliacao> lavalAna;
        private FormatoAvaliacaoCliente formCli;
        private FormatoAvaliacaoProfissional formPro;
        private FormatoAvaliacaoAnalista formAna;
        private MenuAnaliseETdA mAnaliseEtda;
        private AmbienteComercial ambC;

        public TipoRelatorio(MenuAnaliseETdA menu, List<Avaliacao> lAvalCli, List<Avaliacao> lAvalPro,
            List<Avaliacao> lAvalAna, FormatoAvaliacaoCliente formCli, FormatoAvaliacaoProfissional formPro,
                FormatoAvaliacaoAnalista formAna, AmbienteComercial ambComercial)
        {
            InitializeComponent();
            lavalCli = lAvalCli;
            lavalPro = lAvalPro;
            lavalAna = lAvalAna;
            this.formCli = formCli;
            this.formPro = formPro;
            this.formAna = formAna;
            mAnaliseEtda = menu;
            ambC = ambComercial;
        }

        private void prioridadeGeral_Click(object sender, EventArgs e)
        {
            try{
            RelatorioPrioridadesGeral rel = new RelatorioPrioridadesGeral(lavalCli, lavalPro, lavalAna, formCli, formPro, formAna, ambC);
            if (rel.imprimir() != 0) MessageBox.Show("Relatório criado sem sucesso.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception exp)
            {
                MessageBox.Show("Relatório criado sem sucesso.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void prioridadeDimensão_Click(object sender, EventArgs e)
        {
            try{
            RelatorioPrioridadesDimensao rel = new RelatorioPrioridadesDimensao(lavalCli, lavalPro, lavalAna, formCli, formPro, formAna, ambC);
            if (rel.imprimir() != 0) MessageBox.Show("Relatório criado sem sucesso.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception exp)
            {
                MessageBox.Show("Relatório criado sem sucesso.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void voltar_Click(object sender, EventArgs e)
        {
            mAnaliseEtda.Visible = true;
            this.Visible = false;
        }

        private void TipoRelatorio_FormClosed(object sender, FormClosedEventArgs e)
        {
            mAnaliseEtda.sair();
        }

    }
}
